home *** CD-ROM | disk | FTP | other *** search
Text File | 2000-09-28 | 6.6 KB | 304 lines | [TEXT/MPS ] |
- /*-----------------------------------------------------------------------------
- #
- # Apple Macintosh Developer Technical Support
- #
- # AppleTalk GetZoneList Sample Application
- #
- # GetZoneList
- #
- # GetZoneList.r - Rez Source
- #
- # Copyright © 1988-1990 Apple Computer, Inc.
- # All rights reserved.
- #
- # Versions: 1.00 November 1988
- # 1.01 October 1989
- # 1.02 May 1990
- # 1.03 June 1992
- # 1.04 July 1992
- #
- # Components: GetZoneList.c May 1, 1990
- # GetZoneList.p May 1, 1990
- # GetZoneList.r May 1, 1990
- # MakeFile May 1, 1990
- # UFailure.a November 1, 1988
- # UFailure.h November 1, 1988
- # UFailure.inc1.p November 1, 1988
- # UFailure.p November 1, 1988
- #
- # GetZoneList is a sample application that uses
- # AppleTalk ATP and ZIP to obtain a list of zones
- # on an AppleTalk internet.
- #
- # GetZoneList also demonstrates using a signal, or
- # failure-catching mechanism to recover from error
- # situations.
- #
- # GetZoneList is based on DTS Sample.p. For more
- # description and explanantion of the non-example
- # specific areas of this application, please refer to
- # either Sample.p or TESample.p.
- #
- # -----------------------------------------------------------------------------*/
-
- #include "Types.r"
-
-
- #define kMinSize 62 /* application's minimum size (in K) */
- #define kPrefSize 66 /* application's preferred size (in K) */
-
- #define rAboutAlert 128 /* about alert */
- #define rZoneDialog 129 /* zone list dialog */
- #define rUserAlert 130 /* error alert */
-
- #define sErrStrings 128 /* error strings STR# ID */
-
- #define rMenuBar 128 /* application's menu bar */
-
- #define mApple 128 /* Apple menu */
-
- #define mFile 129 /* File menu */
-
- #define mEdit 130 /* Edit menu */
-
- /* these #defines are used to set enable/disable flags of a menu */
-
- #define AllItems 0b1111111111111111111111111111111 /* 31 flags */
- #define NoItems 0b0000000000000000000000000000000
- #define MenuItem1 0b0000000000000000000000000000001
- #define MenuItem2 0b0000000000000000000000000000010
- #define MenuItem3 0b0000000000000000000000000000100
- #define MenuItem4 0b0000000000000000000000000001000
- #define MenuItem5 0b0000000000000000000000000010000
- #define MenuItem6 0b0000000000000000000000000100000
- #define MenuItem7 0b0000000000000000000000001000000
- #define MenuItem8 0b0000000000000000000000010000000
- #define MenuItem9 0b0000000000000000000000100000000
- #define MenuItem10 0b0000000000000000000001000000000
- #define MenuItem11 0b0000000000000000000010000000000
- #define MenuItem12 0b0000000000000000000100000000000
-
-
- /* we use an MBAR resource to conveniently load all the menus */
-
- resource 'MBAR' (rMenuBar, preload) {
- { mApple, mFile, mEdit }; /* three menus */
- };
-
-
- resource 'MENU' (mApple, preload) {
- mApple, textMenuProc,
- AllItems & ~MenuItem2, /* Disable dashed line, enable About and DAs */
- enabled, apple,
- {
- "About GetZoneList…",
- noicon, nokey, nomark, plain;
- "-",
- noicon, nokey, nomark, plain
- }
- };
-
- resource 'MENU' (mFile, preload) {
- mFile, textMenuProc,
- MenuItem1 | MenuItem12, /* enable Quit and New only, program enables others */
- enabled, "File",
- {
- "New",
- noicon, "N", nomark, plain;
- "Open",
- noicon, "O", nomark, plain;
- "-",
- noicon, nokey, nomark, plain;
- "Close",
- noicon, "W", nomark, plain;
- "Save",
- noicon, "S", nomark, plain;
- "Save As…",
- noicon, nokey, nomark, plain;
- "Revert",
- noicon, nokey, nomark, plain;
- "-",
- noicon, nokey, nomark, plain;
- "Page Setup…",
- noicon, nokey, nomark, plain;
- "Print…",
- noicon, nokey, nomark, plain;
- "-",
- noicon, nokey, nomark, plain;
- "Quit",
- noicon, "Q", nomark, plain
- }
- };
-
- resource 'MENU' (mEdit, preload) {
- mEdit, textMenuProc,
- NoItems, /* disable everything, program does the enabling */
- enabled, "Edit",
- {
- "Undo",
- noicon, "Z", nomark, plain;
- "-",
- noicon, nokey, nomark, plain;
- "Cut",
- noicon, "X", nomark, plain;
- "Copy",
- noicon, "C", nomark, plain;
- "Paste",
- noicon, "V", nomark, plain;
- "Clear",
- noicon, nokey, nomark, plain
- }
- };
-
- /* this ALRT and DITL are used as an About screen */
-
- resource 'ALRT' (rAboutAlert) {
- {40, 20, 160, 292}, rAboutAlert, {
- OK, visible, silent;
- OK, visible, silent;
- OK, visible, silent;
- OK, visible, silent
- };
- };
-
- resource 'DITL' (rAboutAlert) {
- {
- {88, 180, 108, 260},
- Button {
- enabled, "OK"
- };
- {8, 8, 24, 214},
- StaticText {
- disabled, "GetZoneList"
- };
- {32, 8, 48, 237},
- StaticText {
- disabled, "© 1989-90 Apple Computer, Inc."
- };
- {56, 8, 72, 136},
- StaticText {
- disabled, "Brought to you by:"
- };
- {80, 24, 112, 167},
- StaticText {
- disabled, "Macintosh Developer " $"CA" "Technical Support"
- }
- }
- };
-
-
- /* this DLOG and DITL are used for the Zone List dialog */
-
- resource 'DLOG' (rZoneDialog) {
- {100, 100, 290, 400},
- dBoxProc,
- invisible,
- noGoAway,
- 0x0,
- rZoneDialog,
- ""
- };
-
- resource 'DITL' (rZoneDialog) {
- {
- {160, 220, 180, 280},
- Button {
- enabled,
- "OK"
- },
- {20, 20, 148, 280},
- UserItem {
- enabled
- },
- {160, 220, 180, 280},
- UserItem {
- disabled
- }
- }
- };
-
-
- /* this ALRT and DITL are used as an error screen */
-
- resource 'ALRT' (rUserAlert, purgeable) {
- {40, 20, 180, 260},
- rUserAlert,
- { /* array: 4 elements */
- /* [1] */
- OK, visible, silent,
- /* [2] */
- OK, visible, silent,
- /* [3] */
- OK, visible, silent,
- /* [4] */
- OK, visible, silent
- }
- };
-
-
- resource 'DITL' (rUserAlert, purgeable) {
- { /* array DITLarray: 4 elements */
- /* [1] */
- {110, 150, 130, 230},
- Button {
- enabled,
- "OK"
- },
- /* [2] */
- {10, 60, 60, 230},
- StaticText {
- disabled,
- "Error. ^0."
- },
- /* [3] */
- {70, 60, 90, 230},
- StaticText {
- disabled,
- "^1"
- },
- /* [4] */
- {8, 8, 40, 40},
- Icon {
- disabled,
- 2
- }
- }
- };
-
-
- resource 'STR#' (sErrStrings, purgeable) {
- {
- "An error occurred. The error number is: ";
- "You must run on 512Ke or later";
- "Application Memory Size is too small";
- "Not enough memory to run GetZoneList";
- "An AppleTalk-related error occurred";
- "There are no zones"
- }
- };
-
-
- /* here is the quintessential MultiFinder friendliness device, the SIZE resource */
-
- resource 'SIZE' (-1) {
- dontSaveScreen,
- acceptSuspendResumeEvents,
- enableOptionSwitch,
- canBackground, /* we can background; we don't currently, but our sleep value */
- /* guarantees we don't hog the Mac while we are in the background */
- multiFinderAware, /* this says we do our own activate/deactivate; don't fake us out */
- backgroundAndForeground, /* this is definitely note a background-only application! */
- dontGetFrontClicks, /* change this is if you want "do first click" behavior like the Finder */
- ignoreChildDiedEvents,
- is32BitCompatible,
- reserved,
- reserved,
- reserved,
- reserved,
- reserved,
- reserved,
- reserved,
- kPrefSize * 1024,
- kMinSize * 1024
- };
-